package servidor;

import java.io.Serializable;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

@Entity
@Table(name="ALUNO_ATIVIDADE", schema="servidor")
public class AtividadeExecutada implements Serializable{
	private static final long serialVersionUID = 1L;
	@Id
	@Column(name="COD_ALUNO", nullable = false)
	private Long codAluno;
	@Column(name="COD_ATIVIDADE", nullable = false)
	private String codAtividade;
	@Column(name="COD_DISCIPLINA", nullable = false)
	private String codDisciplina;
	@Column(name="DAT_INICIO", nullable = false)
	@Temporal(TemporalType.TIMESTAMP)
	private Date dataInicio;
	@Column(name="DAT_FIM", nullable = true)
	@Temporal(TemporalType.TIMESTAMP)	
	private Date dataFim;
	@Column(name="FLG_FINALIZADO", nullable = false)
	private int isFinalizado;
	@Column(name="COD_TURMA", nullable = false)
	private String codTurma;
	@Column(name="ANO_TURMA", nullable = false)
	private int anoTurma;
	
	public String getCodTurma() {
		return codTurma;
	}

	public void setCodTurma(String codTurma) {
		this.codTurma = codTurma;
	}

	public int getAnoTurma() {
		return anoTurma;
	}

	public void setAnoTurma(int anoTurma) {
		this.anoTurma = anoTurma;
	}

	public AtividadeExecutada(String codTurma, int anoTurma, long codAluno, String codAtividade, String codDisciplina) {
		
		Date hj = new Date();
		SimpleDateFormat formatData = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
		
		setCodAluno(codAluno);
		setCodAtividade(codAtividade);
		setCodDisciplina(codDisciplina);
		setDataInicio(converteData(formatData.format(hj)));
		setIsFinalizado(0);
		setCodTurma(codTurma);
		setAnoTurma(anoTurma);
	}
	
	public Long getCodAluno() {
		return codAluno;
	}

	public void setCodAluno(Long codAluno) {
		this.codAluno = codAluno;
	}

	public String getCodAtividade() {
		return codAtividade;
	}

	public void setCodAtividade(String codAtividade) {
		this.codAtividade = codAtividade;
	}

	public String getCodDisciplina() {
		return codDisciplina;
	}

	public void setCodDisciplina(String codDisciplina) {
		this.codDisciplina = codDisciplina;
	}

	public Date getDataInicio() {
		return dataInicio;
	}

	public void setDataInicio(Date dataInicio) {
		this.dataInicio = dataInicio;
	}

	public Date getDataFim() {
		return dataFim;
	}

	public void setDataFim(Date dataFim) {
		this.dataFim = dataFim;
	}

	public int getIsFinalizado() {
		return isFinalizado;
	}

	public void setIsFinalizado(int isFinalizado) {
		this.isFinalizado = isFinalizado;
	}
	
	private Date converteData(String data) {  
	    Date date = null;  
	    try {  
	        SimpleDateFormat dtOutput = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");  
	        date = dtOutput.parse(data);
	    }
	    catch (ParseException e) {  
	        e.printStackTrace();  
	    }  
	    return date;  
	}
	
	public AtividadeExecutada() {

	}
	
}
